const alipaySdk = require('../utils/alipay');
const AlipayFormData = require('alipay-sdk/lib/form').default;
const express = require('express');
const { Message,MessageList } = require('../utils/message');

const router = express.Router();

router.post('/',(req,res,next)=>{
  const {orderId}=req.body;

  const formData = new AlipayFormData();
  formData.setMethod('get');
  formData.addField('notifyUrl', 'http://124.222.96.201:9000/#/mine/myMsg'); // 支付成功回调地址，必须为可以直接访问的地址，不能带参数
  formData.addField('bizContent', {
      outTradeNo: orderId, // 商户订单号,64个字符以内、可包含字母、数字、下划线,且不能重复
      productCode: 'FAST_INSTANT_TRADE_PAY', // 销售产品码，与支付宝签约的产品码名称,仅支持FAST_INSTANT_TRADE_PAY
      totalAmount: '0.01', // 订单总金额，单位为元，精确到小数点后两位
      subject: '商品', // 订单标题
      body: '商品详情', // 订单描述
  });
  formData.addField('returnUrl', 'http://124.222.96.201:9000/#/mine/myMsg');//加在这里才有效果,不是加在bizContent 里面
    // 如果需要支付后跳转到商户界面，可以增加属性"returnUrl"
    const result =  alipaySdk.exec(  // result 为可以跳转到支付链接的 url
        'alipay.trade.page.pay', // 统一收单下单并支付页面接口
        {}, // api 请求的参数（包含“公共请求参数”和“业务参数”）
        { formData: formData },
    );
    result.then((resp)=>{
        res.json(Message(200,'支付成功',resp))
    })
})

module.exports=router